/*
 *  Author: zhaijl 
 *  Url: http://218.1.73.212/down.php
 *  Country: China
 *  
 * ====================================================================
 *
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * ====================================================================
 *
 * This software based apache mina 2.0 and spring 3.0
 *
 */
package org.cloudy.common.spring;

import java.io.File;

import org.springframework.context.support.*;
import org.cloudy.common.util.CommonUtil;

public class SpringContextLoader {	
	private static SpringContextLoader _this = new SpringContextLoader () ;
	
	public static SpringContextLoader getInstance () {
		return _this;
	}		
	
	public void loader ( String filePath ) throws Exception {
		File   file  = new File( filePath ) ;
		if ( !file.isDirectory () ) return ;
		
		String[] springArray = file.list () ;
		for ( int i = 0; i < springArray.length; i++ ) {
			if ( CommonUtil.getExtend ( springArray[i] ).equalsIgnoreCase ( ".xml" ) )
				springArray[i] = filePath + springArray[i] ;
		}

		FileSystemXmlApplicationContext ctx = new FileSystemXmlApplicationContext ( springArray ) ;
		SpringContextUtil.setApplicationContext ( ctx ) ;
	}
	
	public void destrory () {
		( ( FileSystemXmlApplicationContext )( SpringContextUtil.getApplicationContext () ) ).close () ;
		( ( FileSystemXmlApplicationContext )( SpringContextUtil.getApplicationContext () ) ).destroy () ;
	}
}
